Various embodiments described herein relate to computer systems, methods and computer program products for software development and, more particularly, computer systems, methods and computer program products for refactoring software for computer systems.
Today's software developers typically use integrated development environments (IDEs) or interactive development environments (referred to collectively herein as “IDEs”) when developing software for new applications. An IDE is a software application that provides comprehensive facilities to software developers (computer programmers) for software development. IDEs are designed to increase developer productivity by providing tight-knit components with similar user interfaces. IDEs present a single program in which all development can be done. These environments typically provide many features for authoring, modifying, compiling, deploying and debugging software.
Once code is developed and compiled, it typically has a life and at some point must be refactored. Code refactoring is the process of restructuring existing computer code, i.e., changing the factoring, without changing its external behavior. Refactoring improves nonfunctional attributes of the software. However, before starting any refactoring project, an assessment and in-depth analysis typically have to be made, discussed, and drawn out into a larger plan which defines what should be refactored.